home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / UTIL / MEMORY / OLD / MEM208SRC / !Memphis / h / inode < prev    next >
Text File  |  1993-09-08  |  1KB  |  44 lines

  1. /*
  2.  * inode.h
  3.  * Part of the !Memphis distribution
  4.  * (c) bdb/nas, 1991-3
  5.  */
  6.  
  7. typedef struct STOREINODE
  8. {
  9.         FileDesc d;
  10.         int     allocated;
  11.         int     parentinode;
  12. } STOREINODE;
  13. typedef struct INODE
  14. {
  15.         FileDesc d;
  16.         int     allocated;
  17.         int     parentinode;
  18.         int     uses;
  19.         int     changed;
  20.         storeid store;
  21.         int     inode;
  22. } INODE;        
  23.  
  24. _kernel_oserror *Inode_Init(void);
  25. _kernel_oserror *Inode_Finish(void);
  26. extern volatile int Inode_flushcount;
  27. INODE *Inode_Find( storeid store, int inode );
  28. _kernel_oserror *Inode_EnsureSize( INODE *inode, int size );
  29. INODE *Inode_New( INODE *parentinode );
  30. _kernel_oserror *Inode_Delete( INODE *inode );
  31. _kernel_oserror *Inode_Read( INODE *inode, int offset, int length, void *ptr );
  32. _kernel_oserror *Inode_Write( INODE *inode, int offset, int length, void *ptr );
  33. void Inode_Ticker(void);
  34. void Inode_Flush(void);
  35. #ifndef DEBUG
  36. #define Inode_Dup(p)  (p->uses++,p)
  37. #define Inode_Lose(p) (p->uses--)
  38. #define Inode_Changed(p) (p->changed++,Inode_flushcount=0)
  39. #else
  40. #define Inode_Dup(p)  (p->uses++,printf("Dupped %p[%d]",p,p->uses),p)
  41. #define Inode_Lose(p) (p->uses--,printf("Lost %p[%d]",p,p->uses))
  42. #define Inode_Changed(p) (p->changed++,Inode_flushcount=0,printf("Changed %p[%d]",p,p->changed))
  43. #endif
  44.